Situation Calculus
نویسنده
چکیده
The situation calculus is a logical language for representing changes. It was first introduced by McCarthy in 1963,1 and described in further details by McCarthy and Hayes [29] in 1969. The basic concepts in the situation calculus are situations, actions and fluents. Briefly, actions are what make the dynamic world change from one situation to another when performed by agents. Fluents are situation-dependent functions used to describe the effects of actions. There are two kinds of them, relational fluents and functional fluents. The former have only two values: true or false, while the latter can take a range of values. For instance, one may have a relational fluent called handempty which is true in a situation if the robot’s hand is not holding anything. We may need a relation like this in a robot domain. One may also have a functional fluent called battery-level whose value in a situation is an integer between 0 and 100 denoting the total battery power remaining on one’s laptop computer. According to McCarthy and Hayes [29], a situation is “the complete state of the universe at an instance of time”. But for Reiter [34], a situation is the same as its history which is the finite sequence of actions that has been performed since the initial situation S0. We shall discuss Reiter’s foundational axioms that make this precise later. Whatever the interpretation, the unique feature of the situation calculus is that situations are first-order objects that can be quantified over. This is what makes the situation calculus a powerful formalism for representing change, and distinguishes it from other formalisms such as dynamic logic [11]. To describe a dynamic domain in the situation calculus, one has to decide on the set of actions available for the agents to perform, and the set of fluents needed to describe the changes these actions will have on the world. For example, consider the classic blocks world where some blocks of equal size can be arranged into a set of towers on a table. The set of actions in this domain depends on what the imaginary agent can do. If we imagine the agent to be a one-handed robot that can be directed to grasp any block that is on the top of a tower, and either add it to the top of another tower or put it down on the table to make a new tower, then we can have the following actions [30]:
منابع مشابه
A Well-typed Lightweight Situation Calculus
Situation calculus has been widely applied in Artificial Intelligence related fields. This formalism is considered as a dialect of logic programming language and mostly used in dynamic domain modeling. However, type systems are hardly deployed in situation calculus in the literature. To achieve a correct and sound typed program written in situation calculus, adding typing elements into the curr...
متن کاملEvent Calculus
The event calculus [45, 66, 74, 98, 100] is a formalism for reasoning about action and change. Like the situation calculus, the event calculus has actions, which are called events, and time-varying properties or fluents. In the situation calculus, performing an action in a situation gives rise to a successor situation. Situation calculus actions are hypothetical, and time is tree-like. In the e...
متن کاملReconciling the Event Calculus With the Situation Calculus
In this paper, to compare the situation calculus and event calculus we formulate both as logic programs and prove properties of these by reasoning with their completions augmented with induction. We thus show that the situation calculus and event calculus imply one another. Whereas our derivation of the event calculus from the situation calculus requires the use of induction, our derivation of ...
متن کامل(De)Composition of Situation Calculus Theories
We show that designing large situation calculus theories can be simplified by using object-oriented techniques and tools together with established solutions to the frame problem. Situation calculus (McCarthy & Hayes 1969) is one of the leading logical representations for action and change, but large situation calculus theories are not easy to design and maintain, nor are they flexible for exten...
متن کاملSituation Calculus Specifications for Event Calculus Logic Programs
A version of the Situation Calculus is presented which is able to deal with information about the actual occurrence of actions in time. Baker’s solution to the frame problem using circumscription is adapted to enable default reasoning about action occurrences, as well as about the effects of actions. A translation of Situation Calculus style theories into Event Calculus style logic programs is ...
متن کاملOn the Relation between Situationcalculus and Event
In this paper we make a detailed comparison of the Situation Calculus and the Event Calculus, two logic-based temporal reasoning formalisms. We concentrate on diierences between the calculi, considering the similarities suuciently indicated in the recent literature. We illustrate the inability of Event Calculus to handle counterfactual reasoning problems, and that of Situation Calculus to deal ...
متن کامل